<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<script>
description('Test the elements collection when the form is not a descendant of the document. This test case failed in an early version of Acid3.');

var f = document.createElement('form');
var i = document.createElement('input');
i.name = 'first';
i.type = 'text';
i.value = 'test';
f.appendChild(i);

shouldBe("i.getAttribute('name')", "'first'");
shouldBe("i.name", "'first'");
shouldBe("i.getAttribute('type')", "'text'");
shouldBe("i.type", "'text'");
shouldBe("i.value", "'test'");
shouldBe("f.elements.length", "1");
shouldBe("f.elements[0]", "i");
shouldBe("f.elements.first", "i");

f.elements.second;
i.name = 'second';
i.type = 'password';
i.value = 'TEST';

// This has to be the first expression tested, because reporting the result will fix the bug.
shouldBe("f.elements.second", "i");

shouldBe("i.getAttribute('name')", "'second'");
shouldBe("i.name", "'second'");
shouldBe("i.getAttribute('type')", "'password'");
shouldBe("i.type", "'password'");
shouldBe("i.value", "'TEST'");
shouldBe("f.elements.length", "1");
shouldBe("f.elements[0]", "i");
shouldBe("f.elements.first", "undefined");
shouldBe("f.elements.second", "i");
</script>
</body>
</html>
